package net.wangy.basiccode1.array;

import java.util.Arrays;

//这里是一些数组的练习
public class ArrayExercise_1 {

    public static void main(String[] args) {
        int[] array={5,15,3000,20,1000};

        //1、获取数组中最大的元素
       /* int max = getMax(array);
        System.out.println(max);*/

       //2、让一个数组中的元素顺序反转，且方法不能创建新数组
        int [] array1={1,2,3,4,5,6};
        int[] arrayReverse = arrayReverse(array1);
        System.out.println(Arrays.toString(arrayReverse));
    }
    //此方法可以获取一个数组中最大的元素;反之获取最小值的方法类似
    public static int getMax(int[] array){
        int max=array[0];
        for (int i = 1; i < array.length; i++) {
            if(array[i]>max){
                max=array[i];
            }
        }
        return max;
    }

    //此方法将一个数组中的元素顺序反转且不创建新数组

    /**
     * 思路：
     *      数组反转其实就是对称位置的元素位置交换
     *      可以用循环再取出第一个元素‘索引0’和最后一个元素‘length-1索引处’然后交换位置
     *      当索引相等或者小索引大于大索引时停止交换
     * @param array
     * @return
     */
    public static int[] arrayReverse(int[] array){
        int temp;
        for (int min = 0,max=array.length-1; min <max ; min++,max--) {
            temp=array[min];
            array[min]=array[max];
            array[max]=temp;
        }
        return array;
    }
}
